package be.kdg.bombermanunlimited.client.network.listeners;

import be.kdg.bombermanunlimited.client.network.sockets.EventSocket;

/**
 * Een interface om naar een SOCKET status te luisteren. Deze wordt gebruikt in
 * RingNetwork, omdat deze op socket niveau werkt in tegenstelling tot
 * INetworkListener, dat is eenluisteraar op ringnetwerk niveau. Deze heeft geen
 * weet van individuele sockets.
 * 
 * @author Philip
 * 
 */
public interface ISocketStateListener {
	/**
	 * Een socket maakt een connectie
	 * @param socket de socket die de connectie heeft gemaakt
	 */
	public void onConnect(EventSocket socket);

	/**
	 * Een socket verliest de verbinding op gecontrolleerde wijze
	 * @param socket de socket die de verbinding verliest
	 */
	public void onDisconnect(EventSocket socket);

	/**
	 * Een socket verliest de verbinding op ONgecontrolleerde wijze
	 * @param socket de socket die de verbinding verliest.
	 */
	public void onConnectionLost(EventSocket socket);
}
